﻿// Decompiled with JetBrains decompiler
// Type: UnityEngine.RuntimeUndo
// Assembly: UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E6AE6B5A-2752-4B07-9528-C8B77C62CE79
// Assembly location: C:\Users\windys\Unity\2021.3.39f1c1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll
// XML documentation location: C:\Users\windys\Unity\2021.3.39f1c1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.xml

using System.Runtime.CompilerServices;
using UnityEngine.Bindings;

#nullable disable
namespace UnityEngine
{
  [NativeHeader("Editor/Src/Undo/Undo.h")]
  internal class RuntimeUndo
  {
    internal void SetTransformParentUndo(Transform transform, Transform newParent, string name)
    {
      RuntimeUndo.SetTransformParent(transform, newParent, true, name);
    }

    [FreeFunction("SetTransformParentUndo")]
    [MethodImpl(MethodImplOptions.InternalCall)]
    internal static extern void SetTransformParent(
      [NotNull("NullExceptionObject")] Transform transform,
      Transform newParent,
      bool worldPositionStays,
      string name);

    [FreeFunction("RecordUndoDiff")]
    [MethodImpl(MethodImplOptions.InternalCall)]
    internal static extern void RecordObject(Object objectToUndo, string name);

    [FreeFunction("RecordUndoDiff")]
    [MethodImpl(MethodImplOptions.InternalCall)]
    internal static extern void RecordObjects(Object[] objectsToUndo, string name);
  }
}
